/**
 * 注册模块
 * 处理用户注册相关的所有功能
 */
// 导入api服务
import api from '@/services/request';
// 导入注册端点
import { registerEndpoints } from './endpoints';
// 导入注册凭证和响应类型
import { RegisterCredentials, RegisterResponse } from './types';

/**
 * 注册服务对象
 */
export const registerService = {
  /**
   * 用户注册
   * @param credentials 注册凭证
   * @returns 注册响应数据
   */
  async register(credentials: RegisterCredentials): Promise<RegisterResponse> {
    const response = await api.post<RegisterResponse>(registerEndpoints.register, credentials);
    return response.data;
  },

  /**
   * 验证邮箱
   * @param token 邮箱验证令牌
   * @returns 验证结果
   */
  async verifyEmail(token: string): Promise<void> {
    await api.post(registerEndpoints.verifyEmail, { token });
  },

  /**
   * 检查用户名是否可用
   * @param username 要检查的用户名
   * @returns 用户名是否可用
   */
  async checkUsername(username: string): Promise<boolean> {
    const response = await api.get<{ available: boolean }>(registerEndpoints.checkUsername, {
      params: { username },
    });
    return response.data.available;
  },
}; 